import request from '@/utils/request'
import { handleTree } from '@/utils/ruoyi'

// 查询菜单列表
export function listMenu(query) {
  return request({
    url: '/system/menu/list',
    method: 'get',
    params: query
  }).then((res)=>{
    res.data = res.data.filter((item) => item.path === 'auth_token')
    return res
  })
}

// 查询菜单详细
export function getMenu(menuId) {
  return request({
    url: '/system/menu/' + menuId,
    method: 'get'
  })
}

// 查询菜单下拉树结构
export function treeselect() {
  return request({
    url: '/system/menu/treeselect',
    method: 'get'
  })
}

// 根据角色ID查询菜单下拉树结构
export function roleMenuTreeselect(roleId) {
  const fun1 = request({
    url: '/system/menu/roleMenuTreeselect/' + roleId,
    method: 'get'
  })
  const fun2 = request({
    url: '/system/menu/list',
    method: 'get',
  }).then((res)=>{
    res.data = res.data.filter((item) => item.path === 'auth_token').map((item)=>({
      id: item.menuId,
      label: item.menuName,
      parentId: item.parentId
    }))
    return handleTree(res.data)
  })
  return Promise.all([fun1, fun2]).then(([data1, data2])=>{
    data1.menus = data2
    return data1
  })
  // return request({
  //   url: '/system/menu/roleMenuTreeselect/' + roleId,
  //   method: 'get'
  // })
}

// 新增菜单
export function addMenu(data) {
  return request({
    url: '/system/menu',
    method: 'post',
    data: data
  })
}

// 修改菜单
export function updateMenu(data) {
  return request({
    url: '/system/menu',
    method: 'put',
    data: data
  })
}

// 删除菜单
export function delMenu(menuId) {
  return request({
    url: '/system/menu/' + menuId,
    method: 'delete'
  })
}